<END>
2、数据分类分级方法、标准及应用实践3、华为数字化转型:从战略到执行(PPT)4、数据资产管理产品架构规划设计思路5、终于有人把数据标准讲明白了6、华为 VS 阿里数据中台建设方法论7
9、8000字详解银行业数据治理架构体系搭建10、数据资产目录建设方案11、非结构化数据治理方案12、德勤:集团主数据管理方法论(PPT)13、企业大数据平台顶层规划设计方案(PPT)14、终于有人把数据中台讲明白了15、企业数字化转型之道(PPT)
数据学堂
我是谁,我从哪里来,我要到哪里去,我会做什么,我能做什么?我时常反思这些问题,才不至于在快速发展的社会中迷失。
作为数据从业者,我们也需要探查数据的本质,并对其进行追踪、登记、管理,才不至于在海量数据中迷失。
今天这篇文章将会详细介绍描述数据的数据:元数据,并给出具体的落地实施方案。
一、元数据是什么
1、定义:
描述数据的数据,本质上还是数据。
数据本身带有的技术属性与其在业务运行中的业务属性,我们称其为元数据,例如:表数据量、占用空间、字段信息、业务描述、负责人、优先级等。
元数据通过全局统一的数据描述信息及系统化管理,统一数据标准,促进数据集成和共享,打通企业内部数据孤岛,提升数据管理和应用效率。
元数据的边界范围及其划分方式,尚未有统一标准。
以下内容仅代表目前我方团队总结的最佳实践,求同存异,欢迎讨论。
1、数据本身的特定属性,为技术元数据。
2、业务赋予的可变属性,为业务元数据。
1、技术元数据
不可手动编辑,自动获取
主要服务于开发人员,帮助明确数据存储、结构、权限等信息,为数据开发和系统集成奠定基础。
服务于业务人员,通过数据血缘理清数据关系,定位业务流程,辅助业务开展。
技术属性主要包括以下几类信息:
1)基础信息
2)存储信息
文件路径、文件数量、文件大小、文件类型,压缩格式等。
3)调度信息
任务名称、任务类型、任务路径、调度时间、调度SQL、调度逻辑等。
4)血缘信息
数据加工、流转过程产生的数据与数据之间的关系,包含以下内容:
2、业务元数据
业务赋予,手动登记
通过明确业务属性,统一数据的业务含义,保持团队认知一致,进而为数据分析和应用更好的提供支撑。
用于统一认知,消除歧义,包含以下字段:
指标名称、指标层级、指标口径、维度信息、计算方式、映射信息、转换规则等。
访问权限、角色权限、用户权限、安全等级等。
我方团队并不认可将数据变更记录、任务执行日志等纳入元数据的范围。
元数据只应包含属性信息,不包含行为记录。
数据开发过程中,我们常常会迷失在底层海量数据中,无法快速定位目前所需数据。
定位到数据后,还需花费大量时间理解当前数据,理解渠道包括但不限于:询问同事、查看数据详情、查询数据权限、查看底层存储、定位影响分析等。
综上所述,在使用数据时,我们往往需要花费大量时间去定位并理解当前数据。
2、数据管理能力低下
开发过程中,我们需要切换各个开发工具之间进行数据查看与操作。例如通过数据库工具提交SQL操作,通过AirFlow进行任务调度,通过Kafka进行管道操作等。
在多个开发工具中定位与操作数据,过程较为繁琐。如果能够打通多个平台,将信息集中展示并且统一操作入口,可以使开发更高效。
数据治理工作涉及范围较广,且是一个持续不断的过程。需要多部门,全流程打通。而数据治理的开展,操作,过程把控,结果验证,需要一个统一的元数据管理平台进行辅助。
梳理并登记各业务部门的元数据信息,并进行同步。快速对齐各部门的数据认知,统一标准,消除歧义。避免数据重复建设的情况。
通过元数据管理平台,串联数据链路中的开发人员、管理人员和业务人员,打通多部门,全流程。推动开展数据治理、把控过程、结果验证。
Metacat、Datahub、Atlas等
采用开源系统最大的优点是投入成本较低,但是缺点主要包括 :
1、适配性较差,开源方案无法完全匹配公司现有痛点。
2、二开成本高,需要根据开源版本进行定制化开发。
2、厂商收费平台:
亿信华辰,DataPipeline等
此类数据平台中会内置元数据管理系统,功能较为全面,使用方便。但是同样也有以下缺点:
1、贵
2、需要ALL IN平台,为保障数据血缘的使用,数据业务需要全部迁移到厂商平台中。
3、自建
通过设计元模型、构建采集器、后端、前端自建元数据管理系统,此方案开发投入较大,但是有以下优点 :
1、因地制宜,可根据核心痛点定制化开发元数据及数据血缘系统。
2、技术积累,对于开发人员来说,从0-1开发数据血缘系统,可以更深刻的理解数据业务。
3、平台解耦,独立于数据平台之外,数据血缘的开发不会对正常业务造成影响。
接下来我们讲讲如何自建元数据管理系统与落地实施。
为什么要把挖掘痛点,推动实施这步放在首位,且步骤序号为0呢?
以我方团队为例,在系统设计阶段,我们在收集了目前痛点以及梳理现有系统以及组件后,明确了系统初期建设时的三个核心业务:
所以在初期开发时,我方团队可以只针对以上业务进行元数据信息的采集与登记,后续根据迭代需求进行扩展。
目前数据领域存在多种类型的数据库系统,例如:
数据血缘信息采用Neo4j图数据库存储。
此处我认为是元数据管理系统的开发难点,也是最难推进的。
首先我们需要打通各数据组件采集技术元数据,这是技术难点。
其次我们需要数据开发与使用人员配合进行业务元数据的登记,这是管理难点。
目前我方团队已打通组件列表如下:
此时需要采用人工方式对现有数据进行梳理并登记业务元数据,以实现统一管理。但是在登记过程中,往往会出现很多问题,例如数据标准不一致、业务含义不清晰、相关人员不配合等情况,上述问题主要由于企业忽视数据管理所导致。
所以在元数据管理落地之前,我们就需要挖掘目前数据管理的痛点,并且在公司内部推动元数据管理的落地实施,这样才能更好的推动数据的梳理与登记。
数据血缘构建详情,参考以下文章:
1) 数据集成开发
通过元数据打通调度系统、中间件、数据库操作等,实现数据的集成式开发,提高开发效率。
2) 元数据查询、定位、展示
3) 推动数据与业务梳理
4) 辅助数据运维
5) 规范数据开发
公司内部的开发规范例如库表、字段的命名规范,字段类型规范等。
6) 梳理数据依赖关系
通过数据血缘梳理数据依赖关系,流程定位,追踪溯源。
7) 成果汇报、工作量统计
在推动元数据管理落地过程中,经常会有用户询问:元数据模型质量如何?采集信息是否全面?能否解决他们的痛点?做出来是否好用?
于是我也在思考,市面上元数据管理系统那么多,我们自建的核心优势在哪里,元数据的优劣从哪些层次进行评价,于是我方团队量化出了以下三个元数据评价的技术指标:
以下指标关注元数据,对于其管理系统的稳定性,易用性等不进行关注。
定义: 假设一张表实际的数据属性与元数据中采集的数据属性相符,既不缺失也不多余,属性值一致无误,则认为这个表的元数据是准确的,元数据准确的数据量占全部元数据量的比例即为元数据准确率。
准确率是元数据中最核心的指标,元数据的属性缺失或异常可能会造成数据不一致,从而导致业务开展顺利进行,严重则会导致生产故障。
我们在实践中通过两种途径,尽早发现有问题的血缘节点:
人工校验: 通过构造测试用例来验证其他系统一样,元数据的准确性问题也可以通过构造用例来验证。实际操作时,我们会从线上运行的任务中采样出一部分元数据,人工校验是否正确。
用户反馈: 全量元数据的准确性验证是个漫长的过程,但是具体到某个用户的某个业务场景,问题就简化多了。实际操作中,我们会与一些业务方深入的合作,一起校验元数据准确性,并修复问题。
定义: 当有数据资产采集至元数据中时,则代表元数据覆盖了当前数据资产。被元数据覆盖到的数据资产占所有数据资产的比例即为元数据覆盖率。
元数据覆盖率是比较粗粒度的指标。作为准确率的补充,用户通过覆盖率可以知道当前已经支持的数据资产类型,以及每种覆盖的范围。
在内部,我们定义覆盖率指标的目的有两个,一是我方比较关注的数据资产集合,二是寻找当前业务流程中尚未覆盖的数据资产集合,以便于后续优化。
当血缘覆盖率低时,元数据管理的应用范围一定是不全面的,通过关注元数据覆盖率,我们可以知晓元数据管理的落地进度,推进有序落地。
元数据是描述数据的数据,主要为数据的技术属性以及业务属性。
主数据其实就是维度数据
元数据可以用来管理主数据。
参考文献:
[1] 亿信华辰:元数据管理平台技术白皮书
[2] DataPipeline:元数据管理产品手册
[3] 石秀峰:一文读懂元数据管理管理
[4] 字节跳动:详解数据血缘的「整体设计」与「评价方案」
[5] 晓阳:元数据与元数据管理平台介绍
<END>
数据学堂